SlideShare una empresa de Scribd logo
Tutorial
(Visual Studio 2017, C++)
ELECTRÓNICA PIC
Arduino MFC y Puerto serie
2
Si puedo, tu puedes.
ÍNDICE
 Presentación –
 Descargas –
 Funcionamiento –
 Configuración Arduino –
 Configuración Puerto serie –
 Códigos Arduino –
 Librería –
 MFC –
 Código completo –
 Extras –
 Foto –
 Vídeo –
 Enlaces –
 Tutoriales –
 Versión –
 Autor –
Arduino MFC y Puerto serie
3
Arduino MFC y Puerto serie
4
PRESENTACIÓN
Arduino MFC y Puerto serie
5
PRESENTACIÓN
 Este tutorial está dedicado a aquellas personas nóveles que inicia
sus primeros pinitos sobre el control del puerto en serie con MFC
de Visual Studio Community 2017. Aprenderás a encender y
apagar un Led con Arduino, también mostrar mensajes de texto
en el LCD. Los ejemplos están diseñados con el lenguaje C++ en
modo visual.
 Aprenderás a instalar su librería paso a paso de control sobre el
puerto serie.
 En el momento que se creó este tutorial, se trabajó con:
 Windows 10 de 64 bits.
 Visual Studio Community 2017.
 MFC de C++.
 Arduino IDE 1.8.3.
 Placa de Arduino UNO y el LCD Keypad Shield.
Arduino MFC y Puerto serie
6
PRESENTACIÓN
 Todos los programas a usar son de uso libre o gratuito.
 A lo largo del tutorial se usarán dos ejemplos de Arduino IDE, el
primero encender y apagar el Led 13 y A1 de la placa de
Arduino UNO desde el ordenador o PC.
 El segundo ejemplo, mostrar en el LCD los mensajes que llega
desde el ordenador o PC. Ambos ejemplos enviará mensaje al
PC y MFC los recibe indicando cuando se a encendido o
apagado el Led del pin 13 y A1 en el display.
 Este tutorial puede ayudarte para un proyecto en el instituto,
universidades, cursos e incluso como hobby.
Arduino MFC y Puerto serie
7
Arduino MFC y Puerto serie
8
Arduino MFC y Puerto serie
9
DESCARGAS
 Las descargas más básicas son Arduino IDE para programar el
microcontrolador ATmega328p de la placa Arduino UNO,
después escoges el compilador.
Arduino MFC y Puerto serie
10
DESCARGAS
Descarga: Las descargas más básicas
son Arduino IDE para
programar el
microcontrolador
ATmega328p de la placa
Arduino UNO.
 Visual Studio Community
2017.
 Todos los programas son libre
o gratuitos.
Arduino MFC y Puerto serie
11
Arduino MFC y Puerto serie
12
FUNCIONAMIENTO
Arduino MFC y Puerto serie
13
FUNCIONAMIENTO
Arduino MFC y Puerto serie
14
FUNCIONAMIENTO
 Este tutorial consiste básicamente en enviar comandos a la
placa de Arduino desde el ordenador o PC trabajando con MFC
y espera respuesta.
 Comandos a enviar desde MFC de PC a Arduino es:
 Luz_ON
 Luz_OFF
 El ordenador o PC recibe estos datos de vuelta:
 ON - Led encendido.
 OFF - Led apagado.
Arduino MFC y Puerto serie
15
FUNCIONAMIENTO
 Entre Arduino y el PC la comunicación es por el cable de USB. Se
usa el protocolo RS232 porque la placa Arduino y los driver que la
componen convierte en puerto serie en USB, aunque nosotros
literalmente programamos al puerto serie, ya se encarga las
demás parte del USB sin preocuparnos.
 Usando la misma comunicación y programación, si quieres
comunicación sin cables, puedes usar comunicaciones gracias a
los módulos RF que puedes conseguir a parte.
 No trataremos el RF (Radio Frecuencia) en este tutorial.
Arduino MFC y Puerto serie
16
FUNCIONAMIENTO
 Empezamos con el lenguaje C++ Win32 del PC sobre envío de
datos.
 Para crear conexión con los puertos COM1 - COM9.
 Serial* Arduino = new Serial("COM4");
 Para crear conexión con los puertos COM10 en adelante.
 Serial* Arduino = new Serial(".COM10");
Arduino MFC y Puerto serie
17
FUNCIONAMIENTO
 Cuando C++ ejecuta esta instrucción, se envía este comando
Luz_ON al puerto serie.
 Arduino lo entiende, envíe estos caracteres al PC o ordenador en
este caso llamado ON – Led encendido.. C++ lo imprime o
muestra en pantalla.
 cout << "Enviando: " << Luz_ON << endl; // Muestra en pantalla
textos.
 Puerto->WriteData(Luz_ON, sizeof(Luz_ON) - 1); // Envía al puerto
el texto "Luz_ON".
Arduino MFC y Puerto serie
18
FUNCIONAMIENTO
 Estas instrucciones es para leer el puerto serie cuando recibe
datos.
int n = Puerto->ReadData(lectura, 49); // Recibe datos del puerto
serie.
if (n > 0)
{
lectura[n + 1] = '0'; // Limpia de basura la variable.
cout << "Recibido: " << lectura << endl; // Imprime dato
recibido.
cout << "-------------------" << endl;
}
Arduino MFC y Puerto serie
19
FUNCIONAMIENTO
 Observando el código de Arduino.
// Si le llega el mensaje Luz_ON.
 if (comando.equals("Luz_ON") == true)
{
digitalWrite(Led, HIGH); // Enciende el Led 13.
Serial.write("ON - Led encendido."); // Envía este
mensaje a C++.
}
Arduino MFC y Puerto serie
20
FUNCIONAMIENTO
 Ahora toca instalar y configurar Arduino IDE. El código completo
para más adelante. ;)
 Si lo tienes instalado, conecta Arduino UNO al puerto serie y
hacemos las configuraciones en el puerto.
Arduino MFC y Puerto serie
21
Arduino MFC y Puerto serie
22
CONFIGURACIÓN ARDUINO
Arduino MFC y Puerto serie
23
CONFIGURACIÓN ARDUINO
 Instalado Arduino IDE 1.8.3
desde que se creó este
tutorial.
Arduino MFC y Puerto serie
24
CONFIGURACIÓN ARDUINO
 Vete a la barra de
herramientas y eliges tu
placa de Arduino, en este
caso para el tutorial se usa
Arduino UNO.
 Herramientas  Placa:
“Arduino/Genuino Uno” 
Arduino/Genuino Uno.
Arduino MFC y Puerto serie
25
CONFIGURACIÓN ARDUINO
 Ahora elegimos como muestra
en la imagen, el puerto COM
que te ha tocado, en mi caso
es el COM4 y el tuyo puede ser
otro puerto.
Arduino MFC y Puerto serie
26
CONFIGURACIÓN ARDUINO
 Para asegurarnos de que todo
marcha bien, prueba un ejemplo
del parpadeo del Led 13 de
Arduino.
Arduino MFC y Puerto serie
27
CONFIGURACIÓN ARDUINO
 Una vez que ya tenga el código
cargado y Arduino conectado al
ordenador o PC con el cable USB,
comprueba si te ha compilado y el
Led 13 parpadea.
 Pulse Programa  Subir o
directamente pulse “Control + U”.
Arduino MFC y Puerto serie
28
CONFIGURACIÓN ARDUINO
 También se puede compilar desde
la flecha indicada en la imagen.
 Muestra abajo la compilación
indicando la memoria usada.
 Comprueba que el Led 13 está
parpadeando en cada segundo.
Arduino MFC y Puerto serie
29
Arduino MFC y Puerto serie
30
CONFIGURACIÓN PUERTO SERIE
Arduino MFC y Puerto serie
31
CONFIGURACIÓN PUERTO SERIE
 Puede que no quieras el puerto
COM que te haya asignado
automáticamente, así que puedes
cambiarlo cuando quieras.
 Si usas Windows 10, pulsa “Tecla de
Windows + X”
 Pulsa Administrador de dispositivos.
Arduino MFC y Puerto serie
32
CONFIGURACIÓN PUERTO SERIE
 Pulsa dos veces donde
diga Arduino Uno o con el
botón derecho del ratón y
le das en “Propiedades”.
Arduino MFC y Puerto serie
33
CONFIGURACIÓN PUERTO SERIE
 Tiene que abrirse la ventana
Propiedades del puerto de Arduino.
 Ahora toca configurar el puerto
serie y elegir el puerto COM
deseado.
Arduino MFC y Puerto serie
34
CONFIGURACIÓN PUERTO SERIE
 Pulsa la pestaña “Configuración de
puerto”.
 Aunque no es necesario, lo
hacemos igualmente, pon en “Bits
por segundo” a 115200 baudios.
 Para cambiar el puerto COM, pulsa
en “Opciones avanzadas…”.
Arduino MFC y Puerto serie
35
CONFIGURACIÓN PUERTO SERIE
 En la parte del “Número de puerto
COM:” en mi caso selecciono el
puerto COM7.
 Luego pulsa Aceptar.
Arduino MFC y Puerto serie
36
CONFIGURACIÓN PUERTO SERIE
 En este caso tengo el
puerto COM 7 ya
seleccionado.
Arduino MFC y Puerto serie
37
CONFIGURACIÓN PUERTO SERIE
 En este caso tengo el puerto COM
7 ya seleccionado.
 Vuelve a seleccionar el puerto
COM otra vez en el Arduino IDE.
 Hasta aquí haz terminado.
 En mi caso continuo con el puerto
serie COM4, en tu caso el que
quieras.
Arduino MFC y Puerto serie
38
COM7
COM 7
Arduino MFC y Puerto serie
39
CONFIGURACIÓN PUERTO SERIE
 En este caso tengo el puerto COM
7 ya seleccionado.
 Vuelve a seleccionar el puerto
COM otra vez en el Arduino IDE.
 Hasta aquí haz terminado.
 En mi caso continuo con el puerto
serie COM4, en tu caso el que
quieras.
Arduino MFC y Puerto serie
40
COM7
COM 7
CÓDIGOS ARDUINO
Arduino MFC y Puerto serie
41
CÓDIGOS ARDUINO
 Ejemplo 1:
 Se trata de enviar datos a Arduino
por el puerto serie / USB. Si le
enviará comandos desde el
ordenador o PC con MFC para
encender o apagar el Led del pin
13 de Arduino.
Arduino MFC y Puerto serie
42
CÓDIGOS ARDUINO
Arduino MFC y Puerto serie
43
CÓDIGOS ARDUINO
 En el segundo ejemplo y usarás la
LCD Keypad Shield para recibir ver
los mensajes.
Arduino MFC y Puerto serie
44
CÓDIGOS ARDUINO
 Ejemplo 2:
 El mismo ejercicio anterior pero con
el módulo del LCD Kaypad Shield.
 Podrás leer los mensajes que
quieras sobre el funcionamiento del
Led 13.
 No muestra los comandos al LCD,
los recibe y los textos en pantalla lo
puede poner el propio usuario.
Arduino MFC y Puerto serie
45
CÓDIGOS ARDUINO
Arduino MFC y Puerto serie
46
CÓDIGOS ARDUINO
Arduino MFC y Puerto serie
47
CÓDIGOS ARDUINO
 Probando el segundo Ejemplo
2 antes de hacer códigos para
MFC del PC.
 Podemos abrir el Monitor Serie.
Arduino MFC y Puerto serie
48
CÓDIGOS ARDUINO
 Probando el segundo Ejemplo
2 antes de hacer códigos para
MFC del PC.
 Podemos abrir el Monitor Serie.
 Antes que nada, pon abajo
115200 baudio.
 Luego escribe el comando
Luz_ON o el comando Luz_OFF.
 En este caso he puesto
Luz_ON, para encender el Led
y fíjate en el Monitor Serie el
mensaje que muestra.
Arduino MFC y Puerto serie
49
CÓDIGOS ARDUINO
 Pulsa Enter y el botón de
Enviar.
 Si todo anda bien, debe
aparecer la respuesta desde
Arduino.
 En este caso te dice:
ON – Led encendido.
 Ya que te responde Arduino
con sus comandos, lo
muestra en sus respuestas,
estás listo para trabajar con
MFC.
Arduino MFC y Puerto serie
50
CÓDIGOS ARDUINO
 En la pantalla LCD Keypad
Shield debe aparecer Luz ON.
 Si te fijas por debajo de la
placa de Arduino, puedes ver
el Led 13 que se enciende o
se apaga depende de la
orden que le des.
Arduino MFC y Puerto serie
51
Arduino MFC y Puerto serie
52
CÓDIGOS C++
Arduino MFC y Puerto serie
53
CÓDIGOS C++
 Aquí se usará el código principal de
C++ para controlar el puerto serie.
 Antes que nada, descargamos la
librería llamada SerialClass si no lo
ha hechos ya.
Descargar:
 Librería SerialClass.
 Librería SerialClass.
 Librería SerialClass.
Arduino MFC y Puerto serie
54
Arduino MFC y Puerto serie
55
Arduino MFC y Puerto serie
56
CÓDIGOS C++
 Una vez descargada la librería SerialClass vas a cambiar los
baudios que por defecto viene a 9600 baudios y lo cambiamos
a 115200 baudios.
Arduino MFC y Puerto serie
57
CÓDIGOS C++
 Te centras estas librerías, tanto
la cabecera como el código
fuente.
 Dentro de la librería
SerialClass.cpp, lo abrimos
con un editor de texto como
WordPad de Windows o otro
favorito.
Arduino MFC y Puerto serie
58
CÓDIGOS C++
 Encuentra la parte que dice
CBR_9600.
Arduino MFC y Puerto serie
59
CÓDIGOS C++
 Ahora lo dejas en CBR_115200
que son los 115200 baudios
que usarás para la
comunicación del puerto serie
con Arduino.
 Guardamos la librería
SerialClass.cpp.
 Hasta aquí hemos llegado,
ahora a instalar esta librería en
tu IDE favorito.
Arduino MFC y Puerto serie
60
Arduino MFC y Puerto serie
61
HERRAMIENTAS COMUNES
Arduino MFC y Puerto serie
62
HERRAMIENTAS COMUNES
 Puedes descargar Visual Studio
Community 2017 con un ejecutable
atra vez de Internet o descargarte todo
el contenido en modo local.
 Directamente la versión 2017 no cabe
en un DVD.
Arduino MFC y Puerto serie
63
HERRAMIENTAS COMUNES
 En este caso se me ha descargado el
ejecutable llamado
vs_community__1822203968.1489235
477.exe.
 Lo puedo instalar desde vía Web. No
se puede bajar la versión en ISO ya
que no cabe en el DVD.
Arduino MFC y Puerto serie
64
 Aquí en adelante seguimos su
procedimiento para descargarlo en
local.
 En mi caso lo descargaré en la
carpeta llamada VS2017_Local en
la raíz, en C.
 C:VS2017_Local
HERRAMIENTAS COMUNES
 En este caso, en la consola CMD o
símbolo de sistema de Windows
ejecutamos estos comandos.
 Accedemos donde descargamos el
pequeño ejecutable y no olvidar que
elegimos el lenguaje español España
en este caso –lang es-Es.
 Más información en este enlace.
Arduino MFC y Puerto serie
65
HERRAMIENTAS COMUNES
 Vemos cuando se descarga todo en
el disco duro donde le indicamos.
 Tarda un buen tiempo así que
paciencia.
Arduino MFC y Puerto serie
66
HERRAMIENTAS COMUNES
 Vamos al directorio C:VS2017_Local y
ejecutamos el ejecutable.
Arduino MFC y Puerto serie
67
HERRAMIENTAS COMUNES
 Pulsas modificar en Visual
Studio Community 2017 y pasa
la página siguiente para elegir lo
que queremos instalar.
Arduino MFC y Puerto serie
68
HERRAMIENTAS COMUNES
 Elegimos las opciones indicadas.
Arduino MFC y Puerto serie
69
HERRAMIENTAS COMUNES
 Elegimos las opciones indicadas.
Arduino MFC y Puerto serie
70
HERRAMIENTAS COMUNES
 Cuando acabes, le das el botón
Iniciar.
 Aún así, el acceso directo lo
puedes encontrar en el menú de
inicio de Windows.
Arduino MFC y Puerto serie
71
Arduino MFC y Puerto serie
72
VISUAL C++ 2017 MFC
Arduino MFC y Puerto serie
73
VISUAL C++ 2017 MFC
 Cuando tengas Visual Studio
Community 2017 ya ejecutado,
creamos un proyecto nuevo.
 ArchivoNuevoProyecto…
 Mirar imagen grande en la página
siguiente.
Arduino MFC y Puerto serie
74
VISUAL C++ 2017 MFC
 Le ventana Nuevo proyecto está abierta
y seguimos en orden lo que indica la
imagen.
 1) Visual C++ en Plantillas.
 2) MFC.
 3) Aplicación MFC.
 4) Ponemos el nombre que queramos,
en este caso lo he llamado
Proyecto_MFC.
 5) Pulsamos Aceptar.
Arduino MFC y Puerto serie
75
VISUAL C++ 2017 MFC
 Aparece una ventana de
información que te indica
rápidamente qué es lo que puedes
crear con el asistente.
Arduino MFC y Puerto serie
76
VISUAL C++ 2017 MFC
 En el grupo de opciones debemos elegir
"Basada en cuadros de diálogo",
alternativamente tenemos la opción de
utilizar diálogos HTML, ese tipo de diálogo
utiliza controles HTML.
 Luego debemos elegir como vamos a utilizar
la librería MFC:
 Si usamos MFC como un archivo compartido
nuestra aplicación (.exe) ocupará poco
espacio será portable hacia cualquier
sistema operativo Windows que tenga
instalado Visual C++ Runtime.
 En cambio si usamos MFC como una
biblioteca estática nuestra aplicación
contiene todo lo necesario para ejecutarse,
puede llegar a ocupar muchos megas y
puede portarse a otros sistemas Windows que
incluso no tengan instalado Visual C++
Runtime.
 No usar Bibliotecas Unicode, a menos que
sean completamente necesarias.
Arduino MFC y Puerto serie
77
VISUAL C++ 2017 MFC
Arduino MFC y Puerto serie
78
Marco grueso. Si esta activada la propiedad "Border" del diálogo es
"Resizing", y si no es "Dialog Frame“
•Cuadro minimizar: Propiedad "Minimize Box" = True/False
•cuadro Maximizar: Propiedad "Maximize Box" = True/False
•Minimizado: Inicia la ventana minimizada.
•
Agrega esta linea de código en la función OnInitDialog:
ShowWindow(SW_MINIMIZE);
•Maximizado: Inicia la ventana maximizada.
Agrega esta línea de código en la función OnInitDialog:
ShowWindow(SW_MAXIMIZE);
•Menú del sistema: Es el menú que aparece cuando hacemos clic derecho
sobre la barra de título.
•Cuadro de diálogo Acerca de: Es un dialogo que muestra información de la
aplicación, conocida también como "About... ", a diferencia de las
aplicaciones SDI/MDI no tenemos un menú, es por eso que el asistente
agrega un segmento de código que permite visualizar este diálogo.
VISUAL C++ 2017 MFC
 Lo dejamos así para tener todo limpio
para este ejemplo.
Arduino MFC y Puerto serie
79
VISUAL C++ 2017 MFC
 Tendremos un diálogo que nos va a
mostrar las clases que van a generarse,
en este punto podemos elegir las clases
bases, es muy importante hacerlo por
que luego va a ser un poco tedioso
hacer cambios.
 En la página siguiente muestra el
proyecto del formulario.
 Puedes añadirle un label, cambiar de
título al formulario como prueba.
 Luego pulsas F5 para compilar.
Arduino MFC y Puerto serie
80
VISUAL C++ 2017 MFC
Arduino MFC y Puerto serie
81
VISUAL C++ 2017 MFC
 Haz clic en el texto del centro de la
pantalla, en Caption escribes Led.
 En las páginas siguientes se ve más
grande la imagen.
Arduino MFC y Puerto serie
82
VISUAL C++ 2017 MFC
Arduino MFC y Puerto serie
83
VISUAL C++ 2017 MFC
Arduino MFC y Puerto serie
84
VISUAL C++ 2017 MFC
 En el Cuadro de herramientas, arrastra
dos botones o Buttons en el formulario.
Arduino MFC y Puerto serie
85
VISUAL C++ 2017 MFC
 Selecciona el botón Butons2 y en
Caption, escribes OFF.
 Lo mismo para el Button1, escribes
ON en Caption.
 Ya tenemos los nombres de los
botones ON y OFF.
Arduino MFC y Puerto serie
86
VISUAL C++ 2017 MFC
 Toca agregar la librería SerialClass.
 Si ya lo tienes descargado y
modificado los baudios a 115200
como se explicó anteriormente,
procedemos a añadir dicha librería.
 Antes que nada, abrir el directorio
donde tienes todos los archivos del
proyecto como indica en la imagen.
Arduino MFC y Puerto serie
87
VISUAL C++ 2017 MFC
 Si todo anda bien, se abrirá esta
carpeta donde tienes los archivos
del proyecto.
 Aquí es donde tienes que colocar
la librería o los archivos llamado
SerialClass.cpp y SerialClass.h.
Arduino MFC y Puerto serie
88
VISUAL C++ 2017 MFC
 Aquí puedes ver los archivos de la
librería SerialClass preparados.
 Ya puedes cerrar la ventana.
Arduino MFC y Puerto serie
89
VISUAL C++ 2017 MFC
 Ya que tienes la librería colocado
en el proyecto principal, toca
agregarlo en el Visual Studio.
 Vete al Explorador de soluciones,
selecciona Archivo de código
fuente, Agregar y Elemento
existente.
Arduino MFC y Puerto serie
90
VISUAL C++ 2017 MFC
 Selecciona los dos archivos y pulsa Agregar.
Arduino MFC y Puerto serie
91
VISUAL C++ 2017 MFC
 Ya se puede ver los archivos en el
Explorador de soluciones.
 El archivo llamado SerialClass.cpp
tiene que estar donde está.
 El otro llamado SerialCalss.h lo
seleccionamos con el ratón y lo
desplazamos en la parte donde
pone Archivos de encabezado.
Arduino MFC y Puerto serie
92
VISUAL C++ 2017 MFC
 Todo debe estar como indica en la
imagen.
Arduino MFC y Puerto serie
93
VISUAL C++ 2017 MFC
 Abre el código fuente el archivo
principal pulsando dos veces clic
con el ratón donde pone en este
caso:
 Arduino_MFCDlg.cpp
Arduino MFC y Puerto serie
94
VISUAL C++ 2017 MFC
 Haz doble clic en
Arduino_MFCDlg.cpp para abrir el
código.
 Hay que añadir cabeceras que
verás en la página siguiente.
Arduino MFC y Puerto serie
95
VISUAL C++ 2017 MFC
 Añade todas estas cabeceras
justo debajo de las demás.
 #include "SerialClass.h"
 #include <iostream>
 #include <fstream>
 #include <Windows.h>
Arduino MFC y Puerto serie
96
VISUAL C++ 2017 MFC
 Definir los identificadores. Añade estos
códigos como indica en la imagen.
 No olvidar que puerto vas a usar.
 // Puerto serie.
 Serial* Puerto = new Serial("COM4");
 // Comandos para Arduino.
 char Luz_ON[] = "Luz_ON"; // Envía
"Luz_ON" al puerto serie.
 char Luz_OFF[] = "Luz_OFF";
 char lectura[50] = "0"; // Guardan
datos de entrada del puerto.
Arduino MFC y Puerto serie
97
VISUAL C++ 2017 MFC
 Ahora haz doble clic en
SerialCalss.cpp y añade esta
cabecera.
 #include "stdafx.h"
Arduino MFC y Puerto serie
98
VISUAL C++ 2017 MFC
 Haz doble clic en el botón ON.
 Ahora toca insertar código
para poder enviar comandos a
Arduino.
Arduino MFC y Puerto serie
99
VISUAL C++ 2017 MFC
 Se genera un código del botón
ON.
 Borra donde pone el texto en
verde.
Arduino MFC y Puerto serie
100
VISUAL C++ 2017 MFC
 Añade estas instrucciones tal
como indica en la imagen.
 // Encener luz.
 Puerto->WriteData(Luz_ON,
sizeof(Luz_ON) - 1); // Envía al
puerto el texto "Luz_ON".
Arduino MFC y Puerto serie
101
VISUAL C++ 2017 MFC
 Para el botón OFF lo mismo.
Arduino MFC y Puerto serie
102
VISUAL C++ 2017 MFC
 En esta parte no es necesario
que lo hagas, solo es un extra
más.
 Es tu elección hacerlo o no.
 Añadimos un botón más
llamado Despido.
Arduino MFC y Puerto serie
103
VISUAL C++ 2017 MFC
 Hasta aquí hemos llegado
introduciendo instrucciones de
envío de datos.
 Hasta aquí se finaliza la
introducción de códigos.
 Como puedes ver, tiene dos
pestañas abiertas, una la
Arduino_MFCDlg.cpp y el otro
en modo visual.
 Cierra las dos pestañas.
Arduino MFC y Puerto serie
104
VISUAL C++ 2017 MFC
 Puede ocurrir que no sepas
abrir la pestaña en modo visual.
 Abriremos primero la pestaña
que contiene el código y luego
el visual para que no te pierdas.
 Estos detalles hay que tenerlo
en cuenta.
Arduino MFC y Puerto serie
105
VISUAL C++ 2017 MFC
 Si haces doble clic en
Arduino_MFCDlg.cpp, se abrirá
dicha pestaña del código.
 Hasta aquí es fácil.
 Luego muchas personas les
cuesta encontrar la manera de
ver el modo visual, que en el
también es fácil pero no saben
el procedimiento y la idea de
este tutorial, es dejarlo claro.
Arduino MFC y Puerto serie
106
VISUAL C++ 2017 MFC
 Vete en Vista de clases.
Arduino MFC y Puerto serie
107
VISUAL C++ 2017 MFC
 Señala Arduino_MFCDlg con el
botón derecho del ratón y haz
clic en Cuadro de diálogo ir a.
Arduino MFC y Puerto serie
108
VISUAL C++ 2017 MFC
 Señala Arduino_MFCDlg con el
botón derecho del ratón y haz
clic en Cuadro de diálogo ir a.
 Abierto el modo visual.
 Muy fácil de hacer y fácil de
olvidar. ;)
Arduino MFC y Puerto serie
109
VISUAL C++ 2017 MFC
 No olvides tener Arduino programado y conectado al puerto
USB.
 Si intentas depurar o compilar pulsando F5, te dará error porque
la librería no sigue un estándar.
 Te puede aparecer este error.
 Un argumento de tipo "const char *" no es compatible con un
parámetro de tipo "LPCWSTR“.
 Puede aparecer más errores.
Arduino MFC y Puerto serie
110
VISUAL C++ 2017 MFC
 En este caso, con el archivo
Arduino_MFCDlg.cpp abierto,
vete a Proyecto 
Propiedades de
Arduino_MFC…
 Recuerda que tu proyecto si
haz cambiado el nombre no
es igual que este.
Arduino MFC y Puerto serie
111
VISUAL C++ 2017 MFC
 En “General”, “Juego de
caracteres”, cambia la
opción a “Sin establecer”.
 Pulsa Aplicar y luego Aceptar.
Arduino MFC y Puerto serie
112
VISUAL C++ 2017 MFC
 Teniendo Arduino conectado al puerto y usando el Ejemplo 1 o el Ejemplo 2, ya
puedes pulsar F5 para depurar el programa.
Arduino MFC y Puerto serie
113
VISUAL C++ 2017 MFC
 Si todo ha ido bien, ya puedes ver el
programa en MFC con Arduino.
 Si pulsas la tecla 1, enviarás el
comando Luz_ON a Arduino, luego te
devuelve un mensaje recibido que
dice:
 ON- Led encendido.
 Comprueba si la placa Arduino se
enciende y se apaga el Led 13 y A1,
pulsando el teclado 1 para encender
y la tecla 2 para apagar.
Arduino MFC y Puerto serie
114
VISUAL C++ 2017 MFC
 Si has llegado hasta aquí, ya puedes controlar Arduino por el
puerto serie en MFC gracias a Visual Studio Community 2017.
 Puedes seguir mejorando el programa o adaptarlo a tu gusto o
necesidades.
 Ánimos y adelante.
Arduino MFC y Puerto serie
115
Arduino MFC y Puerto serie
116
CÓDIGO COMPLETO
Arduino MFC y Puerto serie
117
CÓDIGO COMPLETO
Arduino MFC y Puerto serie
118
CÓDIGO COMPLETO
Arduino MFC y Puerto serie
119
CÓDIGO COMPLETO
Arduino MFC y Puerto serie
120
CÓDIGO COMPLETO
Arduino MFC y Puerto serie
121
Arduino MFC y Puerto serie
122
EXTRAS
Arduino MFC y Puerto serie
123
EXTRAS
¿Qué es Arduino?
Arduino MFC y Puerto serie
124
EXTRAS
 ¿Qué es Arduino?
 Arduino (Estados Unidos) (Genuino a nivel internacional hasta octubre 2016), es una
compañía de hardware libre y una comunidad tecnológica que diseña y manufactura
placas computadora de desarrollo de hardware y software, compuesta respectivamente
por circuitos impresos que integran un microcontrolador y un entorno de desarrollo (IDE),
en donde se programa cada placa.
 Arduino se enfoca en acercar y facilitar el uso de la electrónica y programación de
sistemas embebidos en proyectos multidisciplinarios1 2 .Toda la plataforma, tanto para sus
componentes de hardware como de software, son liberados con licencia de código
abierto que permite libertad de acceso a ellos3 .
 El hardware consiste en una placa de circuito impreso con un microcontrolador,
usualmente Atmel AVR, puertos digitales y analógicos de entrada/salida,4 , los cuales
pueden conectarse a placas de expansión (shields), que amplían las características de
funcionamiento de la placa Arduino. Asimismo, posee un puerto de conexión USB desde
donde se puede alimentar la placa y establecer comunicación con el computador.
Arduino MFC y Puerto serie
125
EXTRAS
 Por otro lado, el software consiste en un entorno de desarrollo (IDE)
basado en el entorno de Processing y lenguaje de programación
basado en Wiring, así como en el cargador de arranque
(bootloader) que es ejecutado en la placa.4 El microcontrolador de
la placa se programa mediante un computador, usando una
comunicación serial mediante un convertidor de niveles RS-232 a TTL
serial.
 La primera placa Arduino fue introducida en 2005, ofreciendo un
bajo costo y facilidad de uso para novatos y profesionales. Buscaba
desarrollar proyectos interactivos con su entorno mediante el uso de
actuadores y sensores. A partir de octubre de 2012, se incorporaron
nuevos modelos de placas de desarrollo que usan
microcontroladores Cortex M3, ARM de 32 bits,5 que coexisten con
los originales modelos que integran microcontroladores AVR de 8
bits. ARM y AVR no son plataformas compatibles en cuanto a su
arquitectura y por lo que tampoco lo es su set de instrucciones, pero
se pueden programar y compilar bajo el IDE predeterminado de
Arduino sin ningún cambio.
Arduino MFC y Puerto serie
126
EXTRAS
 Las placas Arduino están disponibles de dos formas: ensambladas o en
forma de kits "Hazlo tú mismo" (por sus siglas en inglés "DIY"). Los esquemas de
diseño del Hardware están disponibles bajo licencia Libre, con lo que se
permite que cualquier persona pueda crear su propia placa Arduino sin
necesidad de comprar una prefabricada. Adafruit Industries estimó a
mediados del año 2011 que, alrededor de 300,000 placas Arduino habían
sido producidas comercialmente y en el año 2013 estimó que alrededor de
700.000 placas oficiales de la empresa Arduino estaban en manos de los
usuarios.
 Arduino se puede utilizar para desarrollar objetos interactivos autónomos o
puede ser conectado a software tal como Adobe Flash, Processing,
Max/MSP, Pure Data, etc. Una tendencia tecnológica es utilizar Arduino
como tarjeta de adquisición de datos desarrollando interfaces en software
como JAVA, Visual Basic y LabVIEW 6 . Las placas se pueden montar a mano
o adquirirse. El entorno de desarrollo integrado libre se puede descargar
gratuitamente.
 Fuente:
 https://es.wikipedia.org/wiki/Arduino
Arduino MFC y Puerto serie
127
Arduino MFC y Puerto serie
128
FOTO
Arduino MFC y Puerto serie
129
FOTO
Arduino MFC y Puerto serie
130
Arduino MFC y Puerto serie
131
VÍDEO
Arduino MFC y Puerto serie
132
VÍDEO
https://www.youtube.com/watch?v=-AZEUN1_Eq0
Arduino MFC y Puerto serie
133
 Presentación control de Arduino
con la interfaz MFC.
Arduino MFC y Puerto serie
134
ENLACES
Arduino MFC y Puerto serie
135
ENLACES
 Electrónica PIC: Blog oficial creador de este tutorial.
 Foro Lenguaje C++ y MFC: Foro oficial de Visual Studio.
 Foros de electrónica: Electrónica general.
 Arduino: Foro oficial.
Arduino MFC y Puerto serie
136
Arduino MFC y Puerto serie
137
TUTORIALES
Otros tutoriales de Electrónica PIC.
Arduino MFC y Puerto serie
138
TUTORIALES
 Tutorial Arduino Delphi 10.2 y Puerto
serie. Interfaz creado con Delphi
que puedes controlar el puerto
serie a Arduino encendiendo y
apagando un Led, manejar el LCD
y recibes mensajes hacia el PC.
Arduino MFC y Puerto serie
139
TUTORIALES
 Tutorial Arduino C++ y Puerto serie.
Puedes hacer controlar Arduino y el
puerto serie desde el lenguaje C++
Win32. Hay tres IDE para elegir para
crear tu propio programa en C++
como Visual Studio 2017,
Code::Blocks y C++ Builder Starter.
 La interfaz es en modo consola.
Arduino MFC y Puerto serie
140
TUTORIALES
 Tutorial diseño de interfaz con Java
bajo NetBeans para controlar
Arduino desde el puerto serie / USB,
odrás encender y apagar un Led,
recibir mensajes de textos o
comandos desde Arduino.
Arduino MFC y Puerto serie
141
TUTORIALES
 Tutorial sobre el entorno de desarrollo
Visual Basic 6 controlando a Arduino
por puerto serie/USB.
Visual Basic 6 aún se usa mucho en
centros de enseñanza en muchos
países hoy en día. Este tutorial es para
personas muy novel ya que se guía
paso a paso de forma amena para
poder crear su propia interfaz de
comunicación.
Podrás encender y apagar un Led de
ejemplo y recibir información de texto
en la interfaz enviado desde Arduino.
Arduino MFC y Puerto serie
142
TUTORIALES
 Tutorial para encender y apagar un
Led con las tecnología de Visual
Studio .net
 Se usan los lenguajes C#, C++ y VB
.net.
Arduino MFC y Puerto serie
143
TUTORIALES
 Lecturas de datos desde Arduino.
 Puedes ver cuando se activa
entradas digitales y valores de
entradas analógicos.
 Se usa lenguaje C#, C++ y VB .net.
Arduino MFC y Puerto serie
144
Arduino MFC y Puerto serie
145
VERSIÓN
Arduino MFC y Puerto serie
146
VERSIÓN
 Versión tutorial: 1.00
 Fecha Publicación: 24-07-2017.
 Última actualización:
Arduino MFC y Puerto serie
147
Arduino MFC y Puerto serie
148
AUTOR
Arduino MFC y Puerto serie
149
Contacto: metaconta@gmail.com
Autor:
ÁngelAcaymoM.G.
Arduino MFC y Puerto serie
150

Más contenido relacionado

La actualidad más candente

Microcontroladores PIC - Interface com displays de 7 segmentos
Microcontroladores PIC - Interface com displays de 7 segmentosMicrocontroladores PIC - Interface com displays de 7 segmentos
Microcontroladores PIC - Interface com displays de 7 segmentos
Fabio Souza
 
Ch5 v70 cfc_en
Ch5 v70 cfc_enCh5 v70 cfc_en
Ch5 v70 cfc_en
confidencial
 
Unidad 3 - Autómatas Programables en las Instalaciones Térmicas y de Fluidos
Unidad 3 - Autómatas Programables en las Instalaciones Térmicas y de FluidosUnidad 3 - Autómatas Programables en las Instalaciones Térmicas y de Fluidos
Unidad 3 - Autómatas Programables en las Instalaciones Térmicas y de Fluidos
José María Delgado Casado
 
Arduino delphi tokio 10.2 y puerto serie
Arduino delphi tokio 10.2 y puerto serieArduino delphi tokio 10.2 y puerto serie
Arduino delphi tokio 10.2 y puerto serie
Ángel Acaymo M. G.
 
Programación del PIC18F2550
Programación del PIC18F2550Programación del PIC18F2550
Programación del PIC18F2550
Percy Julio Chambi Pacco
 
Virtual instrumentation9898
Virtual instrumentation9898Virtual instrumentation9898
Virtual instrumentation9898rollno21
 
Programación del ATmega8
Programación del ATmega8Programación del ATmega8
Programación del ATmega8
Percy Julio Chambi Pacco
 
2017 07-04 ms300 cmm-eip01
2017 07-04 ms300 cmm-eip012017 07-04 ms300 cmm-eip01
2017 07-04 ms300 cmm-eip01
Victor Bernal Sandoval
 
SIMATIC S7-1200 Overview
SIMATIC S7-1200 OverviewSIMATIC S7-1200 Overview
SIMATIC S7-1200 Overview
Luis Narvaez
 
PCH Sacre 2
PCH Sacre 2 PCH Sacre 2
PCH Sacre 2
João J.M. Goncalves
 
CLP-S7-1200 NÍVEL 1.pptx
CLP-S7-1200 NÍVEL 1.pptxCLP-S7-1200 NÍVEL 1.pptx
CLP-S7-1200 NÍVEL 1.pptx
GABRIELNOBERTOGOMES
 
Manual básico WinPic800
Manual básico WinPic800Manual básico WinPic800
Manual básico WinPic800
Ángel Acaymo M. G.
 
Curso básico de PLC
Curso básico de PLCCurso básico de PLC
Curso básico de PLC
Pablo Zirpolo
 
Manual de Uso Detallado de Proteus
Manual de Uso Detallado de ProteusManual de Uso Detallado de Proteus
Manual de Uso Detallado de Proteus
PaolaPerez263
 
Apostila curso plc_siemens_software_step7
Apostila curso plc_siemens_software_step7Apostila curso plc_siemens_software_step7
Apostila curso plc_siemens_software_step7
Leonardo Ferreira
 
Microcontroladores
MicrocontroladoresMicrocontroladores
Microcontroladores
abemen
 
Transformadores teori pratica_dicas
Transformadores teori pratica_dicasTransformadores teori pratica_dicas
Transformadores teori pratica_dicasDouglas Roberto
 
Arquitectura Microcontrolador PIC16F887
Arquitectura Microcontrolador PIC16F887Arquitectura Microcontrolador PIC16F887
Arquitectura Microcontrolador PIC16F887
Fernando Aparicio Urbano Molano
 

La actualidad más candente (20)

Microcontroladores PIC - Interface com displays de 7 segmentos
Microcontroladores PIC - Interface com displays de 7 segmentosMicrocontroladores PIC - Interface com displays de 7 segmentos
Microcontroladores PIC - Interface com displays de 7 segmentos
 
Ch5 v70 cfc_en
Ch5 v70 cfc_enCh5 v70 cfc_en
Ch5 v70 cfc_en
 
Unidad 3 - Autómatas Programables en las Instalaciones Térmicas y de Fluidos
Unidad 3 - Autómatas Programables en las Instalaciones Térmicas y de FluidosUnidad 3 - Autómatas Programables en las Instalaciones Térmicas y de Fluidos
Unidad 3 - Autómatas Programables en las Instalaciones Térmicas y de Fluidos
 
Arduino delphi tokio 10.2 y puerto serie
Arduino delphi tokio 10.2 y puerto serieArduino delphi tokio 10.2 y puerto serie
Arduino delphi tokio 10.2 y puerto serie
 
Programación del PIC18F2550
Programación del PIC18F2550Programación del PIC18F2550
Programación del PIC18F2550
 
Virtual instrumentation9898
Virtual instrumentation9898Virtual instrumentation9898
Virtual instrumentation9898
 
Programación del ATmega8
Programación del ATmega8Programación del ATmega8
Programación del ATmega8
 
2017 07-04 ms300 cmm-eip01
2017 07-04 ms300 cmm-eip012017 07-04 ms300 cmm-eip01
2017 07-04 ms300 cmm-eip01
 
SIMATIC S7-1200 Overview
SIMATIC S7-1200 OverviewSIMATIC S7-1200 Overview
SIMATIC S7-1200 Overview
 
Tarjeta de arduino
Tarjeta de arduinoTarjeta de arduino
Tarjeta de arduino
 
PCH Sacre 2
PCH Sacre 2 PCH Sacre 2
PCH Sacre 2
 
CLP-S7-1200 NÍVEL 1.pptx
CLP-S7-1200 NÍVEL 1.pptxCLP-S7-1200 NÍVEL 1.pptx
CLP-S7-1200 NÍVEL 1.pptx
 
Manual básico WinPic800
Manual básico WinPic800Manual básico WinPic800
Manual básico WinPic800
 
Curso básico de PLC
Curso básico de PLCCurso básico de PLC
Curso básico de PLC
 
Manual de Uso Detallado de Proteus
Manual de Uso Detallado de ProteusManual de Uso Detallado de Proteus
Manual de Uso Detallado de Proteus
 
plc y funciones de memoria
plc y funciones de memoriaplc y funciones de memoria
plc y funciones de memoria
 
Apostila curso plc_siemens_software_step7
Apostila curso plc_siemens_software_step7Apostila curso plc_siemens_software_step7
Apostila curso plc_siemens_software_step7
 
Microcontroladores
MicrocontroladoresMicrocontroladores
Microcontroladores
 
Transformadores teori pratica_dicas
Transformadores teori pratica_dicasTransformadores teori pratica_dicas
Transformadores teori pratica_dicas
 
Arquitectura Microcontrolador PIC16F887
Arquitectura Microcontrolador PIC16F887Arquitectura Microcontrolador PIC16F887
Arquitectura Microcontrolador PIC16F887
 

Similar a Arduino mfc y puerto serie

Arduino c++ y puerto serie
Arduino c++ y puerto serieArduino c++ y puerto serie
Arduino c++ y puerto serie
Ángel Acaymo M. G.
 
Arduino consola y puerto serie
Arduino consola y puerto serieArduino consola y puerto serie
Arduino consola y puerto serie
Ángel Acaymo M. G.
 
El AT mega8 es un microcontrolador excelente
El AT mega8 es un microcontrolador excelenteEl AT mega8 es un microcontrolador excelente
El AT mega8 es un microcontrolador excelente
Jose Alva
 
Programación básica de Arduino
Programación básica de Arduino Programación básica de Arduino
Programación básica de Arduino
SANTIAGO PABLO ALBERTO
 
Conectando una pantalla lcd 1602 a arduino uno
Conectando una pantalla lcd 1602 a  arduino unoConectando una pantalla lcd 1602 a  arduino uno
Conectando una pantalla lcd 1602 a arduino uno
jacobbo
 
GUIA BASICA ARDUINO
GUIA BASICA ARDUINOGUIA BASICA ARDUINO
GUIA BASICA ARDUINO
Cristian Monzon
 
Arduino: programación básica de Arduino
Arduino: programación básica de ArduinoArduino: programación básica de Arduino
Arduino: programación básica de Arduino
SANTIAGO PABLO ALBERTO
 
Arduino entorno desarrollo
Arduino entorno desarrolloArduino entorno desarrollo
Arduino entorno desarrolloDaniel Cruz
 
Ide arduino + arddublock
Ide arduino + arddublockIde arduino + arddublock
Ide arduino + arddublock
Sergio Uscamaita Flores
 
CONTADOR BINARIO DESCENDENTE DE 8 BITS CON ARDUINO
CONTADOR BINARIO DESCENDENTE DE 8 BITS CON ARDUINOCONTADOR BINARIO DESCENDENTE DE 8 BITS CON ARDUINO
CONTADOR BINARIO DESCENDENTE DE 8 BITS CON ARDUINO
Fernando Marcos Marcos
 
curso-arduino.pdf
curso-arduino.pdfcurso-arduino.pdf
curso-arduino.pdf
cesarbaquero4
 
Cargando el primer programa de arduino
Cargando el primer programa de arduinoCargando el primer programa de arduino
Cargando el primer programa de arduino
Luis Torreño Peromingo
 
CONTADOR BINARIO ASCENDENTE DE 8 BITS CON ARDUINO
CONTADOR BINARIO ASCENDENTE DE 8 BITS CON ARDUINOCONTADOR BINARIO ASCENDENTE DE 8 BITS CON ARDUINO
CONTADOR BINARIO ASCENDENTE DE 8 BITS CON ARDUINO
Fernando Marcos Marcos
 
Microcontroladores: Tutorial de microcontrolador AVR desde 0
Microcontroladores: Tutorial de microcontrolador AVR desde 0Microcontroladores: Tutorial de microcontrolador AVR desde 0
Microcontroladores: Tutorial de microcontrolador AVR desde 0
SANTIAGO PABLO ALBERTO
 
Arduino PLC: PC_SIMU Arduino
Arduino PLC: PC_SIMU ArduinoArduino PLC: PC_SIMU Arduino
Arduino PLC: PC_SIMU Arduino
SANTIAGO PABLO ALBERTO
 
Manual basico arduino
Manual basico arduinoManual basico arduino
Manual basico arduino
Ketoc2k3
 
Clase 3 arduino 26.10
Clase 3 arduino 26.10Clase 3 arduino 26.10
Clase 3 arduino 26.10
Jose A. Venegas
 
Netduino
NetduinoNetduino
Netduino
David Matias
 

Similar a Arduino mfc y puerto serie (20)

Arduino c++ y puerto serie
Arduino c++ y puerto serieArduino c++ y puerto serie
Arduino c++ y puerto serie
 
Arduino consola y puerto serie
Arduino consola y puerto serieArduino consola y puerto serie
Arduino consola y puerto serie
 
El AT mega8 es un microcontrolador excelente
El AT mega8 es un microcontrolador excelenteEl AT mega8 es un microcontrolador excelente
El AT mega8 es un microcontrolador excelente
 
Programación básica de Arduino
Programación básica de Arduino Programación básica de Arduino
Programación básica de Arduino
 
Conectando una pantalla lcd 1602 a arduino uno
Conectando una pantalla lcd 1602 a  arduino unoConectando una pantalla lcd 1602 a  arduino uno
Conectando una pantalla lcd 1602 a arduino uno
 
GUIA BASICA ARDUINO
GUIA BASICA ARDUINOGUIA BASICA ARDUINO
GUIA BASICA ARDUINO
 
Arduino: programación básica de Arduino
Arduino: programación básica de ArduinoArduino: programación básica de Arduino
Arduino: programación básica de Arduino
 
Arduino entorno desarrollo
Arduino entorno desarrolloArduino entorno desarrollo
Arduino entorno desarrollo
 
Ide arduino + arddublock
Ide arduino + arddublockIde arduino + arddublock
Ide arduino + arddublock
 
CONTADOR BINARIO DESCENDENTE DE 8 BITS CON ARDUINO
CONTADOR BINARIO DESCENDENTE DE 8 BITS CON ARDUINOCONTADOR BINARIO DESCENDENTE DE 8 BITS CON ARDUINO
CONTADOR BINARIO DESCENDENTE DE 8 BITS CON ARDUINO
 
curso-arduino.pdf
curso-arduino.pdfcurso-arduino.pdf
curso-arduino.pdf
 
Cargando el primer programa de arduino
Cargando el primer programa de arduinoCargando el primer programa de arduino
Cargando el primer programa de arduino
 
CONTADOR BINARIO ASCENDENTE DE 8 BITS CON ARDUINO
CONTADOR BINARIO ASCENDENTE DE 8 BITS CON ARDUINOCONTADOR BINARIO ASCENDENTE DE 8 BITS CON ARDUINO
CONTADOR BINARIO ASCENDENTE DE 8 BITS CON ARDUINO
 
Microcontroladores: Tutorial de microcontrolador AVR desde 0
Microcontroladores: Tutorial de microcontrolador AVR desde 0Microcontroladores: Tutorial de microcontrolador AVR desde 0
Microcontroladores: Tutorial de microcontrolador AVR desde 0
 
Arduino PLC: PC_SIMU Arduino
Arduino PLC: PC_SIMU ArduinoArduino PLC: PC_SIMU Arduino
Arduino PLC: PC_SIMU Arduino
 
Manual basico arduino
Manual basico arduinoManual basico arduino
Manual basico arduino
 
Clase 3 arduino 26.10
Clase 3 arduino 26.10Clase 3 arduino 26.10
Clase 3 arduino 26.10
 
Arduinomatlab
ArduinomatlabArduinomatlab
Arduinomatlab
 
Seminario de Arduino
Seminario de ArduinoSeminario de Arduino
Seminario de Arduino
 
Netduino
NetduinoNetduino
Netduino
 

Más de Ángel Acaymo M. G.

Formulario windows con visual c++ 2017
Formulario windows con visual c++ 2017Formulario windows con visual c++ 2017
Formulario windows con visual c++ 2017
Ángel Acaymo M. G.
 
Entrada digital con arduino y visual studio 2015
Entrada digital con arduino y visual studio 2015Entrada digital con arduino y visual studio 2015
Entrada digital con arduino y visual studio 2015
Ángel Acaymo M. G.
 
Formulario windows con visual c++
Formulario windows con visual c++Formulario windows con visual c++
Formulario windows con visual c++
Ángel Acaymo M. G.
 
Interfaz java y arduino
Interfaz java y arduinoInterfaz java y arduino
Interfaz java y arduino
Ángel Acaymo M. G.
 
Interfaz visual basic 6 y arduino
Interfaz visual basic 6 y arduinoInterfaz visual basic 6 y arduino
Interfaz visual basic 6 y arduino
Ángel Acaymo M. G.
 
Crear formulario windows form con visual c++ 2015
Crear formulario windows form con visual c++ 2015Crear formulario windows form con visual c++ 2015
Crear formulario windows form con visual c++ 2015
Ángel Acaymo M. G.
 
Rom laboratory
Rom laboratoryRom laboratory
Rom laboratory
Ángel Acaymo M. G.
 
Desbloquear impresora Brother MFC-440CN error 46
Desbloquear impresora Brother MFC-440CN error 46Desbloquear impresora Brother MFC-440CN error 46
Desbloquear impresora Brother MFC-440CN error 46
Ángel Acaymo M. G.
 
Teensy++2.0
Teensy++2.0Teensy++2.0
Teensy++2.0
Ángel Acaymo M. G.
 
Interfaz puerto paralelo LPT
Interfaz puerto paralelo LPTInterfaz puerto paralelo LPT
Interfaz puerto paralelo LPT
Ángel Acaymo M. G.
 
Mplab Inicio Rapido
Mplab Inicio RapidoMplab Inicio Rapido
Mplab Inicio Rapido
Ángel Acaymo M. G.
 

Más de Ángel Acaymo M. G. (11)

Formulario windows con visual c++ 2017
Formulario windows con visual c++ 2017Formulario windows con visual c++ 2017
Formulario windows con visual c++ 2017
 
Entrada digital con arduino y visual studio 2015
Entrada digital con arduino y visual studio 2015Entrada digital con arduino y visual studio 2015
Entrada digital con arduino y visual studio 2015
 
Formulario windows con visual c++
Formulario windows con visual c++Formulario windows con visual c++
Formulario windows con visual c++
 
Interfaz java y arduino
Interfaz java y arduinoInterfaz java y arduino
Interfaz java y arduino
 
Interfaz visual basic 6 y arduino
Interfaz visual basic 6 y arduinoInterfaz visual basic 6 y arduino
Interfaz visual basic 6 y arduino
 
Crear formulario windows form con visual c++ 2015
Crear formulario windows form con visual c++ 2015Crear formulario windows form con visual c++ 2015
Crear formulario windows form con visual c++ 2015
 
Rom laboratory
Rom laboratoryRom laboratory
Rom laboratory
 
Desbloquear impresora Brother MFC-440CN error 46
Desbloquear impresora Brother MFC-440CN error 46Desbloquear impresora Brother MFC-440CN error 46
Desbloquear impresora Brother MFC-440CN error 46
 
Teensy++2.0
Teensy++2.0Teensy++2.0
Teensy++2.0
 
Interfaz puerto paralelo LPT
Interfaz puerto paralelo LPTInterfaz puerto paralelo LPT
Interfaz puerto paralelo LPT
 
Mplab Inicio Rapido
Mplab Inicio RapidoMplab Inicio Rapido
Mplab Inicio Rapido
 

Último

INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTALINFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
CrystalRomero18
 
Conceptos Básicos de Programación. Tecnología
Conceptos Básicos de Programación. TecnologíaConceptos Básicos de Programación. Tecnología
Conceptos Básicos de Programación. Tecnología
coloradxmaria
 
Alan Turing Vida o biografía resumida como presentación
Alan Turing Vida o biografía resumida como presentaciónAlan Turing Vida o biografía resumida como presentación
Alan Turing Vida o biografía resumida como presentación
JuanPrez962115
 
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
vazquezgarciajesusma
 
leidy fuentes - power point -expocccion -unidad 4 (1).pptx
leidy fuentes - power point -expocccion -unidad 4 (1).pptxleidy fuentes - power point -expocccion -unidad 4 (1).pptx
leidy fuentes - power point -expocccion -unidad 4 (1).pptx
Leidyfuentes19
 
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
vazquezgarciajesusma
 
Diagrama de flujo basada en la reparacion de automoviles.pdf
Diagrama de flujo basada en la reparacion de automoviles.pdfDiagrama de flujo basada en la reparacion de automoviles.pdf
Diagrama de flujo basada en la reparacion de automoviles.pdf
ManuelCampos464987
 
biogas industrial para guiarse en proyectos
biogas industrial para guiarse en proyectosbiogas industrial para guiarse en proyectos
biogas industrial para guiarse en proyectos
Luis Enrique Zafra Haro
 
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdfDESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
marianabz2403
 
Conceptos Básicos de Programación L.D 10-5
Conceptos Básicos de Programación L.D 10-5Conceptos Básicos de Programación L.D 10-5
Conceptos Básicos de Programación L.D 10-5
JulyMuoz18
 
Robótica educativa para la eduacion primaria .pptx
Robótica educativa para la eduacion primaria .pptxRobótica educativa para la eduacion primaria .pptx
Robótica educativa para la eduacion primaria .pptx
44652726
 
Estructuras Básicas_ Conceptos Basicos De Programacion.pdf
Estructuras Básicas_ Conceptos Basicos De Programacion.pdfEstructuras Básicas_ Conceptos Basicos De Programacion.pdf
Estructuras Básicas_ Conceptos Basicos De Programacion.pdf
IsabellaRubio6
 
Trabajo Coding For kids 1 y 2 grado 9-4.pdf
Trabajo Coding For kids 1 y 2 grado 9-4.pdfTrabajo Coding For kids 1 y 2 grado 9-4.pdf
Trabajo Coding For kids 1 y 2 grado 9-4.pdf
jjfch3110
 
Estructuras básicas_ conceptos básicos de programación.pdf
Estructuras básicas_  conceptos básicos de programación.pdfEstructuras básicas_  conceptos básicos de programación.pdf
Estructuras básicas_ conceptos básicos de programación.pdf
ItsSofi
 
proyecto invernadero desde el departamento de tecnología para Erasmus
proyecto invernadero desde el departamento de tecnología para Erasmusproyecto invernadero desde el departamento de tecnología para Erasmus
proyecto invernadero desde el departamento de tecnología para Erasmus
raquelariza02
 
Diagrama de flujo soporte técnico 5to semestre
Diagrama de flujo soporte técnico 5to semestreDiagrama de flujo soporte técnico 5to semestre
Diagrama de flujo soporte técnico 5to semestre
rafaelsalazar0615
 
Estructuras Básicas_Tecnología_Grado10-7.pdf
Estructuras Básicas_Tecnología_Grado10-7.pdfEstructuras Básicas_Tecnología_Grado10-7.pdf
Estructuras Básicas_Tecnología_Grado10-7.pdf
cristianrb0324
 
Desarrollo de Habilidades de Pensamiento.
Desarrollo de Habilidades de Pensamiento.Desarrollo de Habilidades de Pensamiento.
Desarrollo de Habilidades de Pensamiento.
AlejandraCasallas7
 
ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024
ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024
ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024
DanielErazoMedina
 
EduFlex, una educación accesible para quienes no entienden en clases
EduFlex, una educación accesible para quienes no entienden en clasesEduFlex, una educación accesible para quienes no entienden en clases
EduFlex, una educación accesible para quienes no entienden en clases
PABLOCESARGARZONBENI
 

Último (20)

INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTALINFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
 
Conceptos Básicos de Programación. Tecnología
Conceptos Básicos de Programación. TecnologíaConceptos Básicos de Programación. Tecnología
Conceptos Básicos de Programación. Tecnología
 
Alan Turing Vida o biografía resumida como presentación
Alan Turing Vida o biografía resumida como presentaciónAlan Turing Vida o biografía resumida como presentación
Alan Turing Vida o biografía resumida como presentación
 
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
 
leidy fuentes - power point -expocccion -unidad 4 (1).pptx
leidy fuentes - power point -expocccion -unidad 4 (1).pptxleidy fuentes - power point -expocccion -unidad 4 (1).pptx
leidy fuentes - power point -expocccion -unidad 4 (1).pptx
 
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
 
Diagrama de flujo basada en la reparacion de automoviles.pdf
Diagrama de flujo basada en la reparacion de automoviles.pdfDiagrama de flujo basada en la reparacion de automoviles.pdf
Diagrama de flujo basada en la reparacion de automoviles.pdf
 
biogas industrial para guiarse en proyectos
biogas industrial para guiarse en proyectosbiogas industrial para guiarse en proyectos
biogas industrial para guiarse en proyectos
 
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdfDESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
 
Conceptos Básicos de Programación L.D 10-5
Conceptos Básicos de Programación L.D 10-5Conceptos Básicos de Programación L.D 10-5
Conceptos Básicos de Programación L.D 10-5
 
Robótica educativa para la eduacion primaria .pptx
Robótica educativa para la eduacion primaria .pptxRobótica educativa para la eduacion primaria .pptx
Robótica educativa para la eduacion primaria .pptx
 
Estructuras Básicas_ Conceptos Basicos De Programacion.pdf
Estructuras Básicas_ Conceptos Basicos De Programacion.pdfEstructuras Básicas_ Conceptos Basicos De Programacion.pdf
Estructuras Básicas_ Conceptos Basicos De Programacion.pdf
 
Trabajo Coding For kids 1 y 2 grado 9-4.pdf
Trabajo Coding For kids 1 y 2 grado 9-4.pdfTrabajo Coding For kids 1 y 2 grado 9-4.pdf
Trabajo Coding For kids 1 y 2 grado 9-4.pdf
 
Estructuras básicas_ conceptos básicos de programación.pdf
Estructuras básicas_  conceptos básicos de programación.pdfEstructuras básicas_  conceptos básicos de programación.pdf
Estructuras básicas_ conceptos básicos de programación.pdf
 
proyecto invernadero desde el departamento de tecnología para Erasmus
proyecto invernadero desde el departamento de tecnología para Erasmusproyecto invernadero desde el departamento de tecnología para Erasmus
proyecto invernadero desde el departamento de tecnología para Erasmus
 
Diagrama de flujo soporte técnico 5to semestre
Diagrama de flujo soporte técnico 5to semestreDiagrama de flujo soporte técnico 5to semestre
Diagrama de flujo soporte técnico 5to semestre
 
Estructuras Básicas_Tecnología_Grado10-7.pdf
Estructuras Básicas_Tecnología_Grado10-7.pdfEstructuras Básicas_Tecnología_Grado10-7.pdf
Estructuras Básicas_Tecnología_Grado10-7.pdf
 
Desarrollo de Habilidades de Pensamiento.
Desarrollo de Habilidades de Pensamiento.Desarrollo de Habilidades de Pensamiento.
Desarrollo de Habilidades de Pensamiento.
 
ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024
ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024
ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024
 
EduFlex, una educación accesible para quienes no entienden en clases
EduFlex, una educación accesible para quienes no entienden en clasesEduFlex, una educación accesible para quienes no entienden en clases
EduFlex, una educación accesible para quienes no entienden en clases
 

Arduino mfc y puerto serie

  • 2. ELECTRÓNICA PIC Arduino MFC y Puerto serie 2 Si puedo, tu puedes.
  • 3. ÍNDICE  Presentación –  Descargas –  Funcionamiento –  Configuración Arduino –  Configuración Puerto serie –  Códigos Arduino –  Librería –  MFC –  Código completo –  Extras –  Foto –  Vídeo –  Enlaces –  Tutoriales –  Versión –  Autor – Arduino MFC y Puerto serie 3
  • 4. Arduino MFC y Puerto serie 4
  • 6. PRESENTACIÓN  Este tutorial está dedicado a aquellas personas nóveles que inicia sus primeros pinitos sobre el control del puerto en serie con MFC de Visual Studio Community 2017. Aprenderás a encender y apagar un Led con Arduino, también mostrar mensajes de texto en el LCD. Los ejemplos están diseñados con el lenguaje C++ en modo visual.  Aprenderás a instalar su librería paso a paso de control sobre el puerto serie.  En el momento que se creó este tutorial, se trabajó con:  Windows 10 de 64 bits.  Visual Studio Community 2017.  MFC de C++.  Arduino IDE 1.8.3.  Placa de Arduino UNO y el LCD Keypad Shield. Arduino MFC y Puerto serie 6
  • 7. PRESENTACIÓN  Todos los programas a usar son de uso libre o gratuito.  A lo largo del tutorial se usarán dos ejemplos de Arduino IDE, el primero encender y apagar el Led 13 y A1 de la placa de Arduino UNO desde el ordenador o PC.  El segundo ejemplo, mostrar en el LCD los mensajes que llega desde el ordenador o PC. Ambos ejemplos enviará mensaje al PC y MFC los recibe indicando cuando se a encendido o apagado el Led del pin 13 y A1 en el display.  Este tutorial puede ayudarte para un proyecto en el instituto, universidades, cursos e incluso como hobby. Arduino MFC y Puerto serie 7
  • 8. Arduino MFC y Puerto serie 8
  • 9. Arduino MFC y Puerto serie 9
  • 10. DESCARGAS  Las descargas más básicas son Arduino IDE para programar el microcontrolador ATmega328p de la placa Arduino UNO, después escoges el compilador. Arduino MFC y Puerto serie 10
  • 11. DESCARGAS Descarga: Las descargas más básicas son Arduino IDE para programar el microcontrolador ATmega328p de la placa Arduino UNO.  Visual Studio Community 2017.  Todos los programas son libre o gratuitos. Arduino MFC y Puerto serie 11
  • 12. Arduino MFC y Puerto serie 12
  • 13. FUNCIONAMIENTO Arduino MFC y Puerto serie 13
  • 14. FUNCIONAMIENTO Arduino MFC y Puerto serie 14
  • 15. FUNCIONAMIENTO  Este tutorial consiste básicamente en enviar comandos a la placa de Arduino desde el ordenador o PC trabajando con MFC y espera respuesta.  Comandos a enviar desde MFC de PC a Arduino es:  Luz_ON  Luz_OFF  El ordenador o PC recibe estos datos de vuelta:  ON - Led encendido.  OFF - Led apagado. Arduino MFC y Puerto serie 15
  • 16. FUNCIONAMIENTO  Entre Arduino y el PC la comunicación es por el cable de USB. Se usa el protocolo RS232 porque la placa Arduino y los driver que la componen convierte en puerto serie en USB, aunque nosotros literalmente programamos al puerto serie, ya se encarga las demás parte del USB sin preocuparnos.  Usando la misma comunicación y programación, si quieres comunicación sin cables, puedes usar comunicaciones gracias a los módulos RF que puedes conseguir a parte.  No trataremos el RF (Radio Frecuencia) en este tutorial. Arduino MFC y Puerto serie 16
  • 17. FUNCIONAMIENTO  Empezamos con el lenguaje C++ Win32 del PC sobre envío de datos.  Para crear conexión con los puertos COM1 - COM9.  Serial* Arduino = new Serial("COM4");  Para crear conexión con los puertos COM10 en adelante.  Serial* Arduino = new Serial(".COM10"); Arduino MFC y Puerto serie 17
  • 18. FUNCIONAMIENTO  Cuando C++ ejecuta esta instrucción, se envía este comando Luz_ON al puerto serie.  Arduino lo entiende, envíe estos caracteres al PC o ordenador en este caso llamado ON – Led encendido.. C++ lo imprime o muestra en pantalla.  cout << "Enviando: " << Luz_ON << endl; // Muestra en pantalla textos.  Puerto->WriteData(Luz_ON, sizeof(Luz_ON) - 1); // Envía al puerto el texto "Luz_ON". Arduino MFC y Puerto serie 18
  • 19. FUNCIONAMIENTO  Estas instrucciones es para leer el puerto serie cuando recibe datos. int n = Puerto->ReadData(lectura, 49); // Recibe datos del puerto serie. if (n > 0) { lectura[n + 1] = '0'; // Limpia de basura la variable. cout << "Recibido: " << lectura << endl; // Imprime dato recibido. cout << "-------------------" << endl; } Arduino MFC y Puerto serie 19
  • 20. FUNCIONAMIENTO  Observando el código de Arduino. // Si le llega el mensaje Luz_ON.  if (comando.equals("Luz_ON") == true) { digitalWrite(Led, HIGH); // Enciende el Led 13. Serial.write("ON - Led encendido."); // Envía este mensaje a C++. } Arduino MFC y Puerto serie 20
  • 21. FUNCIONAMIENTO  Ahora toca instalar y configurar Arduino IDE. El código completo para más adelante. ;)  Si lo tienes instalado, conecta Arduino UNO al puerto serie y hacemos las configuraciones en el puerto. Arduino MFC y Puerto serie 21
  • 22. Arduino MFC y Puerto serie 22
  • 24. CONFIGURACIÓN ARDUINO  Instalado Arduino IDE 1.8.3 desde que se creó este tutorial. Arduino MFC y Puerto serie 24
  • 25. CONFIGURACIÓN ARDUINO  Vete a la barra de herramientas y eliges tu placa de Arduino, en este caso para el tutorial se usa Arduino UNO.  Herramientas  Placa: “Arduino/Genuino Uno”  Arduino/Genuino Uno. Arduino MFC y Puerto serie 25
  • 26. CONFIGURACIÓN ARDUINO  Ahora elegimos como muestra en la imagen, el puerto COM que te ha tocado, en mi caso es el COM4 y el tuyo puede ser otro puerto. Arduino MFC y Puerto serie 26
  • 27. CONFIGURACIÓN ARDUINO  Para asegurarnos de que todo marcha bien, prueba un ejemplo del parpadeo del Led 13 de Arduino. Arduino MFC y Puerto serie 27
  • 28. CONFIGURACIÓN ARDUINO  Una vez que ya tenga el código cargado y Arduino conectado al ordenador o PC con el cable USB, comprueba si te ha compilado y el Led 13 parpadea.  Pulse Programa  Subir o directamente pulse “Control + U”. Arduino MFC y Puerto serie 28
  • 29. CONFIGURACIÓN ARDUINO  También se puede compilar desde la flecha indicada en la imagen.  Muestra abajo la compilación indicando la memoria usada.  Comprueba que el Led 13 está parpadeando en cada segundo. Arduino MFC y Puerto serie 29
  • 30. Arduino MFC y Puerto serie 30
  • 31. CONFIGURACIÓN PUERTO SERIE Arduino MFC y Puerto serie 31
  • 32. CONFIGURACIÓN PUERTO SERIE  Puede que no quieras el puerto COM que te haya asignado automáticamente, así que puedes cambiarlo cuando quieras.  Si usas Windows 10, pulsa “Tecla de Windows + X”  Pulsa Administrador de dispositivos. Arduino MFC y Puerto serie 32
  • 33. CONFIGURACIÓN PUERTO SERIE  Pulsa dos veces donde diga Arduino Uno o con el botón derecho del ratón y le das en “Propiedades”. Arduino MFC y Puerto serie 33
  • 34. CONFIGURACIÓN PUERTO SERIE  Tiene que abrirse la ventana Propiedades del puerto de Arduino.  Ahora toca configurar el puerto serie y elegir el puerto COM deseado. Arduino MFC y Puerto serie 34
  • 35. CONFIGURACIÓN PUERTO SERIE  Pulsa la pestaña “Configuración de puerto”.  Aunque no es necesario, lo hacemos igualmente, pon en “Bits por segundo” a 115200 baudios.  Para cambiar el puerto COM, pulsa en “Opciones avanzadas…”. Arduino MFC y Puerto serie 35
  • 36. CONFIGURACIÓN PUERTO SERIE  En la parte del “Número de puerto COM:” en mi caso selecciono el puerto COM7.  Luego pulsa Aceptar. Arduino MFC y Puerto serie 36
  • 37. CONFIGURACIÓN PUERTO SERIE  En este caso tengo el puerto COM 7 ya seleccionado. Arduino MFC y Puerto serie 37
  • 38. CONFIGURACIÓN PUERTO SERIE  En este caso tengo el puerto COM 7 ya seleccionado.  Vuelve a seleccionar el puerto COM otra vez en el Arduino IDE.  Hasta aquí haz terminado.  En mi caso continuo con el puerto serie COM4, en tu caso el que quieras. Arduino MFC y Puerto serie 38 COM7 COM 7
  • 39. Arduino MFC y Puerto serie 39
  • 40. CONFIGURACIÓN PUERTO SERIE  En este caso tengo el puerto COM 7 ya seleccionado.  Vuelve a seleccionar el puerto COM otra vez en el Arduino IDE.  Hasta aquí haz terminado.  En mi caso continuo con el puerto serie COM4, en tu caso el que quieras. Arduino MFC y Puerto serie 40 COM7 COM 7
  • 41. CÓDIGOS ARDUINO Arduino MFC y Puerto serie 41
  • 42. CÓDIGOS ARDUINO  Ejemplo 1:  Se trata de enviar datos a Arduino por el puerto serie / USB. Si le enviará comandos desde el ordenador o PC con MFC para encender o apagar el Led del pin 13 de Arduino. Arduino MFC y Puerto serie 42
  • 43. CÓDIGOS ARDUINO Arduino MFC y Puerto serie 43
  • 44. CÓDIGOS ARDUINO  En el segundo ejemplo y usarás la LCD Keypad Shield para recibir ver los mensajes. Arduino MFC y Puerto serie 44
  • 45. CÓDIGOS ARDUINO  Ejemplo 2:  El mismo ejercicio anterior pero con el módulo del LCD Kaypad Shield.  Podrás leer los mensajes que quieras sobre el funcionamiento del Led 13.  No muestra los comandos al LCD, los recibe y los textos en pantalla lo puede poner el propio usuario. Arduino MFC y Puerto serie 45
  • 46. CÓDIGOS ARDUINO Arduino MFC y Puerto serie 46
  • 47. CÓDIGOS ARDUINO Arduino MFC y Puerto serie 47
  • 48. CÓDIGOS ARDUINO  Probando el segundo Ejemplo 2 antes de hacer códigos para MFC del PC.  Podemos abrir el Monitor Serie. Arduino MFC y Puerto serie 48
  • 49. CÓDIGOS ARDUINO  Probando el segundo Ejemplo 2 antes de hacer códigos para MFC del PC.  Podemos abrir el Monitor Serie.  Antes que nada, pon abajo 115200 baudio.  Luego escribe el comando Luz_ON o el comando Luz_OFF.  En este caso he puesto Luz_ON, para encender el Led y fíjate en el Monitor Serie el mensaje que muestra. Arduino MFC y Puerto serie 49
  • 50. CÓDIGOS ARDUINO  Pulsa Enter y el botón de Enviar.  Si todo anda bien, debe aparecer la respuesta desde Arduino.  En este caso te dice: ON – Led encendido.  Ya que te responde Arduino con sus comandos, lo muestra en sus respuestas, estás listo para trabajar con MFC. Arduino MFC y Puerto serie 50
  • 51. CÓDIGOS ARDUINO  En la pantalla LCD Keypad Shield debe aparecer Luz ON.  Si te fijas por debajo de la placa de Arduino, puedes ver el Led 13 que se enciende o se apaga depende de la orden que le des. Arduino MFC y Puerto serie 51
  • 52. Arduino MFC y Puerto serie 52
  • 53. CÓDIGOS C++ Arduino MFC y Puerto serie 53
  • 54. CÓDIGOS C++  Aquí se usará el código principal de C++ para controlar el puerto serie.  Antes que nada, descargamos la librería llamada SerialClass si no lo ha hechos ya. Descargar:  Librería SerialClass.  Librería SerialClass.  Librería SerialClass. Arduino MFC y Puerto serie 54
  • 55. Arduino MFC y Puerto serie 55
  • 56. Arduino MFC y Puerto serie 56
  • 57. CÓDIGOS C++  Una vez descargada la librería SerialClass vas a cambiar los baudios que por defecto viene a 9600 baudios y lo cambiamos a 115200 baudios. Arduino MFC y Puerto serie 57
  • 58. CÓDIGOS C++  Te centras estas librerías, tanto la cabecera como el código fuente.  Dentro de la librería SerialClass.cpp, lo abrimos con un editor de texto como WordPad de Windows o otro favorito. Arduino MFC y Puerto serie 58
  • 59. CÓDIGOS C++  Encuentra la parte que dice CBR_9600. Arduino MFC y Puerto serie 59
  • 60. CÓDIGOS C++  Ahora lo dejas en CBR_115200 que son los 115200 baudios que usarás para la comunicación del puerto serie con Arduino.  Guardamos la librería SerialClass.cpp.  Hasta aquí hemos llegado, ahora a instalar esta librería en tu IDE favorito. Arduino MFC y Puerto serie 60
  • 61. Arduino MFC y Puerto serie 61
  • 62. HERRAMIENTAS COMUNES Arduino MFC y Puerto serie 62
  • 63. HERRAMIENTAS COMUNES  Puedes descargar Visual Studio Community 2017 con un ejecutable atra vez de Internet o descargarte todo el contenido en modo local.  Directamente la versión 2017 no cabe en un DVD. Arduino MFC y Puerto serie 63
  • 64. HERRAMIENTAS COMUNES  En este caso se me ha descargado el ejecutable llamado vs_community__1822203968.1489235 477.exe.  Lo puedo instalar desde vía Web. No se puede bajar la versión en ISO ya que no cabe en el DVD. Arduino MFC y Puerto serie 64  Aquí en adelante seguimos su procedimiento para descargarlo en local.  En mi caso lo descargaré en la carpeta llamada VS2017_Local en la raíz, en C.  C:VS2017_Local
  • 65. HERRAMIENTAS COMUNES  En este caso, en la consola CMD o símbolo de sistema de Windows ejecutamos estos comandos.  Accedemos donde descargamos el pequeño ejecutable y no olvidar que elegimos el lenguaje español España en este caso –lang es-Es.  Más información en este enlace. Arduino MFC y Puerto serie 65
  • 66. HERRAMIENTAS COMUNES  Vemos cuando se descarga todo en el disco duro donde le indicamos.  Tarda un buen tiempo así que paciencia. Arduino MFC y Puerto serie 66
  • 67. HERRAMIENTAS COMUNES  Vamos al directorio C:VS2017_Local y ejecutamos el ejecutable. Arduino MFC y Puerto serie 67
  • 68. HERRAMIENTAS COMUNES  Pulsas modificar en Visual Studio Community 2017 y pasa la página siguiente para elegir lo que queremos instalar. Arduino MFC y Puerto serie 68
  • 69. HERRAMIENTAS COMUNES  Elegimos las opciones indicadas. Arduino MFC y Puerto serie 69
  • 70. HERRAMIENTAS COMUNES  Elegimos las opciones indicadas. Arduino MFC y Puerto serie 70
  • 71. HERRAMIENTAS COMUNES  Cuando acabes, le das el botón Iniciar.  Aún así, el acceso directo lo puedes encontrar en el menú de inicio de Windows. Arduino MFC y Puerto serie 71
  • 72. Arduino MFC y Puerto serie 72
  • 73. VISUAL C++ 2017 MFC Arduino MFC y Puerto serie 73
  • 74. VISUAL C++ 2017 MFC  Cuando tengas Visual Studio Community 2017 ya ejecutado, creamos un proyecto nuevo.  ArchivoNuevoProyecto…  Mirar imagen grande en la página siguiente. Arduino MFC y Puerto serie 74
  • 75. VISUAL C++ 2017 MFC  Le ventana Nuevo proyecto está abierta y seguimos en orden lo que indica la imagen.  1) Visual C++ en Plantillas.  2) MFC.  3) Aplicación MFC.  4) Ponemos el nombre que queramos, en este caso lo he llamado Proyecto_MFC.  5) Pulsamos Aceptar. Arduino MFC y Puerto serie 75
  • 76. VISUAL C++ 2017 MFC  Aparece una ventana de información que te indica rápidamente qué es lo que puedes crear con el asistente. Arduino MFC y Puerto serie 76
  • 77. VISUAL C++ 2017 MFC  En el grupo de opciones debemos elegir "Basada en cuadros de diálogo", alternativamente tenemos la opción de utilizar diálogos HTML, ese tipo de diálogo utiliza controles HTML.  Luego debemos elegir como vamos a utilizar la librería MFC:  Si usamos MFC como un archivo compartido nuestra aplicación (.exe) ocupará poco espacio será portable hacia cualquier sistema operativo Windows que tenga instalado Visual C++ Runtime.  En cambio si usamos MFC como una biblioteca estática nuestra aplicación contiene todo lo necesario para ejecutarse, puede llegar a ocupar muchos megas y puede portarse a otros sistemas Windows que incluso no tengan instalado Visual C++ Runtime.  No usar Bibliotecas Unicode, a menos que sean completamente necesarias. Arduino MFC y Puerto serie 77
  • 78. VISUAL C++ 2017 MFC Arduino MFC y Puerto serie 78 Marco grueso. Si esta activada la propiedad "Border" del diálogo es "Resizing", y si no es "Dialog Frame“ •Cuadro minimizar: Propiedad "Minimize Box" = True/False •cuadro Maximizar: Propiedad "Maximize Box" = True/False •Minimizado: Inicia la ventana minimizada. • Agrega esta linea de código en la función OnInitDialog: ShowWindow(SW_MINIMIZE); •Maximizado: Inicia la ventana maximizada. Agrega esta línea de código en la función OnInitDialog: ShowWindow(SW_MAXIMIZE); •Menú del sistema: Es el menú que aparece cuando hacemos clic derecho sobre la barra de título. •Cuadro de diálogo Acerca de: Es un dialogo que muestra información de la aplicación, conocida también como "About... ", a diferencia de las aplicaciones SDI/MDI no tenemos un menú, es por eso que el asistente agrega un segmento de código que permite visualizar este diálogo.
  • 79. VISUAL C++ 2017 MFC  Lo dejamos así para tener todo limpio para este ejemplo. Arduino MFC y Puerto serie 79
  • 80. VISUAL C++ 2017 MFC  Tendremos un diálogo que nos va a mostrar las clases que van a generarse, en este punto podemos elegir las clases bases, es muy importante hacerlo por que luego va a ser un poco tedioso hacer cambios.  En la página siguiente muestra el proyecto del formulario.  Puedes añadirle un label, cambiar de título al formulario como prueba.  Luego pulsas F5 para compilar. Arduino MFC y Puerto serie 80
  • 81. VISUAL C++ 2017 MFC Arduino MFC y Puerto serie 81
  • 82. VISUAL C++ 2017 MFC  Haz clic en el texto del centro de la pantalla, en Caption escribes Led.  En las páginas siguientes se ve más grande la imagen. Arduino MFC y Puerto serie 82
  • 83. VISUAL C++ 2017 MFC Arduino MFC y Puerto serie 83
  • 84. VISUAL C++ 2017 MFC Arduino MFC y Puerto serie 84
  • 85. VISUAL C++ 2017 MFC  En el Cuadro de herramientas, arrastra dos botones o Buttons en el formulario. Arduino MFC y Puerto serie 85
  • 86. VISUAL C++ 2017 MFC  Selecciona el botón Butons2 y en Caption, escribes OFF.  Lo mismo para el Button1, escribes ON en Caption.  Ya tenemos los nombres de los botones ON y OFF. Arduino MFC y Puerto serie 86
  • 87. VISUAL C++ 2017 MFC  Toca agregar la librería SerialClass.  Si ya lo tienes descargado y modificado los baudios a 115200 como se explicó anteriormente, procedemos a añadir dicha librería.  Antes que nada, abrir el directorio donde tienes todos los archivos del proyecto como indica en la imagen. Arduino MFC y Puerto serie 87
  • 88. VISUAL C++ 2017 MFC  Si todo anda bien, se abrirá esta carpeta donde tienes los archivos del proyecto.  Aquí es donde tienes que colocar la librería o los archivos llamado SerialClass.cpp y SerialClass.h. Arduino MFC y Puerto serie 88
  • 89. VISUAL C++ 2017 MFC  Aquí puedes ver los archivos de la librería SerialClass preparados.  Ya puedes cerrar la ventana. Arduino MFC y Puerto serie 89
  • 90. VISUAL C++ 2017 MFC  Ya que tienes la librería colocado en el proyecto principal, toca agregarlo en el Visual Studio.  Vete al Explorador de soluciones, selecciona Archivo de código fuente, Agregar y Elemento existente. Arduino MFC y Puerto serie 90
  • 91. VISUAL C++ 2017 MFC  Selecciona los dos archivos y pulsa Agregar. Arduino MFC y Puerto serie 91
  • 92. VISUAL C++ 2017 MFC  Ya se puede ver los archivos en el Explorador de soluciones.  El archivo llamado SerialClass.cpp tiene que estar donde está.  El otro llamado SerialCalss.h lo seleccionamos con el ratón y lo desplazamos en la parte donde pone Archivos de encabezado. Arduino MFC y Puerto serie 92
  • 93. VISUAL C++ 2017 MFC  Todo debe estar como indica en la imagen. Arduino MFC y Puerto serie 93
  • 94. VISUAL C++ 2017 MFC  Abre el código fuente el archivo principal pulsando dos veces clic con el ratón donde pone en este caso:  Arduino_MFCDlg.cpp Arduino MFC y Puerto serie 94
  • 95. VISUAL C++ 2017 MFC  Haz doble clic en Arduino_MFCDlg.cpp para abrir el código.  Hay que añadir cabeceras que verás en la página siguiente. Arduino MFC y Puerto serie 95
  • 96. VISUAL C++ 2017 MFC  Añade todas estas cabeceras justo debajo de las demás.  #include "SerialClass.h"  #include <iostream>  #include <fstream>  #include <Windows.h> Arduino MFC y Puerto serie 96
  • 97. VISUAL C++ 2017 MFC  Definir los identificadores. Añade estos códigos como indica en la imagen.  No olvidar que puerto vas a usar.  // Puerto serie.  Serial* Puerto = new Serial("COM4");  // Comandos para Arduino.  char Luz_ON[] = "Luz_ON"; // Envía "Luz_ON" al puerto serie.  char Luz_OFF[] = "Luz_OFF";  char lectura[50] = "0"; // Guardan datos de entrada del puerto. Arduino MFC y Puerto serie 97
  • 98. VISUAL C++ 2017 MFC  Ahora haz doble clic en SerialCalss.cpp y añade esta cabecera.  #include "stdafx.h" Arduino MFC y Puerto serie 98
  • 99. VISUAL C++ 2017 MFC  Haz doble clic en el botón ON.  Ahora toca insertar código para poder enviar comandos a Arduino. Arduino MFC y Puerto serie 99
  • 100. VISUAL C++ 2017 MFC  Se genera un código del botón ON.  Borra donde pone el texto en verde. Arduino MFC y Puerto serie 100
  • 101. VISUAL C++ 2017 MFC  Añade estas instrucciones tal como indica en la imagen.  // Encener luz.  Puerto->WriteData(Luz_ON, sizeof(Luz_ON) - 1); // Envía al puerto el texto "Luz_ON". Arduino MFC y Puerto serie 101
  • 102. VISUAL C++ 2017 MFC  Para el botón OFF lo mismo. Arduino MFC y Puerto serie 102
  • 103. VISUAL C++ 2017 MFC  En esta parte no es necesario que lo hagas, solo es un extra más.  Es tu elección hacerlo o no.  Añadimos un botón más llamado Despido. Arduino MFC y Puerto serie 103
  • 104. VISUAL C++ 2017 MFC  Hasta aquí hemos llegado introduciendo instrucciones de envío de datos.  Hasta aquí se finaliza la introducción de códigos.  Como puedes ver, tiene dos pestañas abiertas, una la Arduino_MFCDlg.cpp y el otro en modo visual.  Cierra las dos pestañas. Arduino MFC y Puerto serie 104
  • 105. VISUAL C++ 2017 MFC  Puede ocurrir que no sepas abrir la pestaña en modo visual.  Abriremos primero la pestaña que contiene el código y luego el visual para que no te pierdas.  Estos detalles hay que tenerlo en cuenta. Arduino MFC y Puerto serie 105
  • 106. VISUAL C++ 2017 MFC  Si haces doble clic en Arduino_MFCDlg.cpp, se abrirá dicha pestaña del código.  Hasta aquí es fácil.  Luego muchas personas les cuesta encontrar la manera de ver el modo visual, que en el también es fácil pero no saben el procedimiento y la idea de este tutorial, es dejarlo claro. Arduino MFC y Puerto serie 106
  • 107. VISUAL C++ 2017 MFC  Vete en Vista de clases. Arduino MFC y Puerto serie 107
  • 108. VISUAL C++ 2017 MFC  Señala Arduino_MFCDlg con el botón derecho del ratón y haz clic en Cuadro de diálogo ir a. Arduino MFC y Puerto serie 108
  • 109. VISUAL C++ 2017 MFC  Señala Arduino_MFCDlg con el botón derecho del ratón y haz clic en Cuadro de diálogo ir a.  Abierto el modo visual.  Muy fácil de hacer y fácil de olvidar. ;) Arduino MFC y Puerto serie 109
  • 110. VISUAL C++ 2017 MFC  No olvides tener Arduino programado y conectado al puerto USB.  Si intentas depurar o compilar pulsando F5, te dará error porque la librería no sigue un estándar.  Te puede aparecer este error.  Un argumento de tipo "const char *" no es compatible con un parámetro de tipo "LPCWSTR“.  Puede aparecer más errores. Arduino MFC y Puerto serie 110
  • 111. VISUAL C++ 2017 MFC  En este caso, con el archivo Arduino_MFCDlg.cpp abierto, vete a Proyecto  Propiedades de Arduino_MFC…  Recuerda que tu proyecto si haz cambiado el nombre no es igual que este. Arduino MFC y Puerto serie 111
  • 112. VISUAL C++ 2017 MFC  En “General”, “Juego de caracteres”, cambia la opción a “Sin establecer”.  Pulsa Aplicar y luego Aceptar. Arduino MFC y Puerto serie 112
  • 113. VISUAL C++ 2017 MFC  Teniendo Arduino conectado al puerto y usando el Ejemplo 1 o el Ejemplo 2, ya puedes pulsar F5 para depurar el programa. Arduino MFC y Puerto serie 113
  • 114. VISUAL C++ 2017 MFC  Si todo ha ido bien, ya puedes ver el programa en MFC con Arduino.  Si pulsas la tecla 1, enviarás el comando Luz_ON a Arduino, luego te devuelve un mensaje recibido que dice:  ON- Led encendido.  Comprueba si la placa Arduino se enciende y se apaga el Led 13 y A1, pulsando el teclado 1 para encender y la tecla 2 para apagar. Arduino MFC y Puerto serie 114
  • 115. VISUAL C++ 2017 MFC  Si has llegado hasta aquí, ya puedes controlar Arduino por el puerto serie en MFC gracias a Visual Studio Community 2017.  Puedes seguir mejorando el programa o adaptarlo a tu gusto o necesidades.  Ánimos y adelante. Arduino MFC y Puerto serie 115
  • 116. Arduino MFC y Puerto serie 116
  • 117. CÓDIGO COMPLETO Arduino MFC y Puerto serie 117
  • 118. CÓDIGO COMPLETO Arduino MFC y Puerto serie 118
  • 119. CÓDIGO COMPLETO Arduino MFC y Puerto serie 119
  • 120. CÓDIGO COMPLETO Arduino MFC y Puerto serie 120
  • 121. CÓDIGO COMPLETO Arduino MFC y Puerto serie 121
  • 122. Arduino MFC y Puerto serie 122
  • 123. EXTRAS Arduino MFC y Puerto serie 123
  • 124. EXTRAS ¿Qué es Arduino? Arduino MFC y Puerto serie 124
  • 125. EXTRAS  ¿Qué es Arduino?  Arduino (Estados Unidos) (Genuino a nivel internacional hasta octubre 2016), es una compañía de hardware libre y una comunidad tecnológica que diseña y manufactura placas computadora de desarrollo de hardware y software, compuesta respectivamente por circuitos impresos que integran un microcontrolador y un entorno de desarrollo (IDE), en donde se programa cada placa.  Arduino se enfoca en acercar y facilitar el uso de la electrónica y programación de sistemas embebidos en proyectos multidisciplinarios1 2 .Toda la plataforma, tanto para sus componentes de hardware como de software, son liberados con licencia de código abierto que permite libertad de acceso a ellos3 .  El hardware consiste en una placa de circuito impreso con un microcontrolador, usualmente Atmel AVR, puertos digitales y analógicos de entrada/salida,4 , los cuales pueden conectarse a placas de expansión (shields), que amplían las características de funcionamiento de la placa Arduino. Asimismo, posee un puerto de conexión USB desde donde se puede alimentar la placa y establecer comunicación con el computador. Arduino MFC y Puerto serie 125
  • 126. EXTRAS  Por otro lado, el software consiste en un entorno de desarrollo (IDE) basado en el entorno de Processing y lenguaje de programación basado en Wiring, así como en el cargador de arranque (bootloader) que es ejecutado en la placa.4 El microcontrolador de la placa se programa mediante un computador, usando una comunicación serial mediante un convertidor de niveles RS-232 a TTL serial.  La primera placa Arduino fue introducida en 2005, ofreciendo un bajo costo y facilidad de uso para novatos y profesionales. Buscaba desarrollar proyectos interactivos con su entorno mediante el uso de actuadores y sensores. A partir de octubre de 2012, se incorporaron nuevos modelos de placas de desarrollo que usan microcontroladores Cortex M3, ARM de 32 bits,5 que coexisten con los originales modelos que integran microcontroladores AVR de 8 bits. ARM y AVR no son plataformas compatibles en cuanto a su arquitectura y por lo que tampoco lo es su set de instrucciones, pero se pueden programar y compilar bajo el IDE predeterminado de Arduino sin ningún cambio. Arduino MFC y Puerto serie 126
  • 127. EXTRAS  Las placas Arduino están disponibles de dos formas: ensambladas o en forma de kits "Hazlo tú mismo" (por sus siglas en inglés "DIY"). Los esquemas de diseño del Hardware están disponibles bajo licencia Libre, con lo que se permite que cualquier persona pueda crear su propia placa Arduino sin necesidad de comprar una prefabricada. Adafruit Industries estimó a mediados del año 2011 que, alrededor de 300,000 placas Arduino habían sido producidas comercialmente y en el año 2013 estimó que alrededor de 700.000 placas oficiales de la empresa Arduino estaban en manos de los usuarios.  Arduino se puede utilizar para desarrollar objetos interactivos autónomos o puede ser conectado a software tal como Adobe Flash, Processing, Max/MSP, Pure Data, etc. Una tendencia tecnológica es utilizar Arduino como tarjeta de adquisición de datos desarrollando interfaces en software como JAVA, Visual Basic y LabVIEW 6 . Las placas se pueden montar a mano o adquirirse. El entorno de desarrollo integrado libre se puede descargar gratuitamente.  Fuente:  https://es.wikipedia.org/wiki/Arduino Arduino MFC y Puerto serie 127
  • 128. Arduino MFC y Puerto serie 128
  • 129. FOTO Arduino MFC y Puerto serie 129
  • 130. FOTO Arduino MFC y Puerto serie 130
  • 131. Arduino MFC y Puerto serie 131
  • 132. VÍDEO Arduino MFC y Puerto serie 132
  • 133. VÍDEO https://www.youtube.com/watch?v=-AZEUN1_Eq0 Arduino MFC y Puerto serie 133  Presentación control de Arduino con la interfaz MFC.
  • 134. Arduino MFC y Puerto serie 134
  • 135. ENLACES Arduino MFC y Puerto serie 135
  • 136. ENLACES  Electrónica PIC: Blog oficial creador de este tutorial.  Foro Lenguaje C++ y MFC: Foro oficial de Visual Studio.  Foros de electrónica: Electrónica general.  Arduino: Foro oficial. Arduino MFC y Puerto serie 136
  • 137. Arduino MFC y Puerto serie 137
  • 138. TUTORIALES Otros tutoriales de Electrónica PIC. Arduino MFC y Puerto serie 138
  • 139. TUTORIALES  Tutorial Arduino Delphi 10.2 y Puerto serie. Interfaz creado con Delphi que puedes controlar el puerto serie a Arduino encendiendo y apagando un Led, manejar el LCD y recibes mensajes hacia el PC. Arduino MFC y Puerto serie 139
  • 140. TUTORIALES  Tutorial Arduino C++ y Puerto serie. Puedes hacer controlar Arduino y el puerto serie desde el lenguaje C++ Win32. Hay tres IDE para elegir para crear tu propio programa en C++ como Visual Studio 2017, Code::Blocks y C++ Builder Starter.  La interfaz es en modo consola. Arduino MFC y Puerto serie 140
  • 141. TUTORIALES  Tutorial diseño de interfaz con Java bajo NetBeans para controlar Arduino desde el puerto serie / USB, odrás encender y apagar un Led, recibir mensajes de textos o comandos desde Arduino. Arduino MFC y Puerto serie 141
  • 142. TUTORIALES  Tutorial sobre el entorno de desarrollo Visual Basic 6 controlando a Arduino por puerto serie/USB. Visual Basic 6 aún se usa mucho en centros de enseñanza en muchos países hoy en día. Este tutorial es para personas muy novel ya que se guía paso a paso de forma amena para poder crear su propia interfaz de comunicación. Podrás encender y apagar un Led de ejemplo y recibir información de texto en la interfaz enviado desde Arduino. Arduino MFC y Puerto serie 142
  • 143. TUTORIALES  Tutorial para encender y apagar un Led con las tecnología de Visual Studio .net  Se usan los lenguajes C#, C++ y VB .net. Arduino MFC y Puerto serie 143
  • 144. TUTORIALES  Lecturas de datos desde Arduino.  Puedes ver cuando se activa entradas digitales y valores de entradas analógicos.  Se usa lenguaje C#, C++ y VB .net. Arduino MFC y Puerto serie 144
  • 145. Arduino MFC y Puerto serie 145
  • 146. VERSIÓN Arduino MFC y Puerto serie 146
  • 147. VERSIÓN  Versión tutorial: 1.00  Fecha Publicación: 24-07-2017.  Última actualización: Arduino MFC y Puerto serie 147
  • 148. Arduino MFC y Puerto serie 148
  • 149. AUTOR Arduino MFC y Puerto serie 149 Contacto: metaconta@gmail.com